package com.hzhr.iot.device.dao.mapper.custom;

import com.hzhr.iot.device.entity.CollectDeviceEntity;
import com.hzhr.iot.device.entity.ext.CollectDeviceEntityExt;
import com.hzhr.iot.device.model.collectDeviceQuickquery.MeterPlan_workOrderlistModel;
import com.hzhr.iot.device.queryModel.custom.CollectDeviceCustomQueryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CollectDeviceEntityCustomMapper {
    //批量新增
    int insertBatch(List<CollectDeviceEntity> recordList);
    //批量更新
    int updateBatch(List<CollectDeviceEntity> recordList);
    //批量更新
    int updateBatchSelective(List<CollectDeviceEntity> recordList);
    //通用查询
    List<CollectDeviceEntityExt> selectExt(CollectDeviceCustomQueryModel queryModel);
    //通用查询数量
    int selectCount(CollectDeviceCustomQueryModel queryModel);
    //通用修改属性
    int updateProps(CollectDeviceCustomQueryModel queryModel);
    //通用删除
    int delete(CollectDeviceCustomQueryModel queryModel);

    //自定义查询
    List<CollectDeviceEntityExt> selectExt1(CollectDeviceCustomQueryModel queryModel);
    List<CollectDeviceEntityExt> selectExt2(CollectDeviceCustomQueryModel queryModel);

    int selectCount2(CollectDeviceCustomQueryModel queryModel);

    //快速查询采集设备信息（id）；sql in code（X，X，X ...）
    List<CollectDeviceEntityExt> selectQuick(@Param("model") MeterPlan_workOrderlistModel model, @Param("startTime") String startTime, @Param("endTime") String endTime);

}
